---
title: 国際化
---

<Callout type="warning" title="注意事項">
  すべてのプラグインに言語パックが含まれているわけではありません。各機能のドキュメント内で、その有無を明記します。
</Callout>

## `mergeLocales` メソッド [#mergeLocales]

`mergeLocales` メソッドは、複数のプラグインやプリセットの言語パックを1つの完全な言語パックオブジェクトに統合するために使用します。使い方は以下の通りです。

<Tabs items={['プリセットモード', 'プラグインモード']}>
  <Tab>
    ````typescript
    import { mergeLocales } from '@univerjs/presets'

    // 複数の言語パックオブジェクトを引数で渡してマージできます
    const locales = mergeLocales(
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    )
    // 配列としてまとめて渡すことも可能です
    const locales = mergeLocales([
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    ])
    ````
  </Tab>
  <Tab>
    ````typescript
    import { mergeLocales } from '@univerjs/core'

    // 複数の言語パックオブジェクトを引数で渡してマージできます
    const locales = mergeLocales(
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    )
    // 配列としてまとめて渡すことも可能です
    const locales = mergeLocales([
      plugin1Locales,
      plugin2Locales,
      presetLocales,
    ])
    ````
  </Tab>
</Tabs>

## カスタム言語パック

Univer はカスタム言語パックにも対応しています。必要に応じて言語パックオブジェクトを組み立て、`Univer` インスタンスに渡すことができます。プリセットの言語パックは通常、`<rootDir>/packages/<PLUGIN_NAME>/locale` ディレクトリに保存されています。

````typescript
const univer = new Univer({
  locale: 'ja-JP',
  locales: {
    'ja-JP': {
      shortcut: {
        undo: '元に戻す',
        redo: 'やり直す',
      },
    },
  },
})
````

## 翻訳への貢献

Univer には、現在以下の組み込み言語パックが用意されています：

- `zh-CN`: 中国語（簡体字）
- `en-US`: 英語
- `zh-TW`: 中国語（繁体字）
- `ru-RU`: ロシア語
- `vi-VN`: ベトナム語
- `fa-IR`: ペルシャ語
- `fr-FR`: フランス語
- `ko-KR`: 韓国語
- `es-ES`: スペイン語
- `ca-ES`: カタルーニャ語

Univer OSS は多様性にあふれるオープンソースプロジェクトであり、世界中の開発者によるロケール追加や改善を歓迎しています。
